package com.example.function.integration.service;

/**
 * @description：影像件下载服务接口
 * @className：ImageFileDownloadService
 * @author：ext.fengcheng
 * @date：2023/9/18 16:26
 */
public interface ImageFileDownloadService {

    /**
     * @Description：下载文件并且上传文件到SFTP
     * @Author： ext.fengcheng
     * @Date：2023/9/19 9:55
     * @tenantId, 租户id
     * @queryStartId, 查询开始id
     * @queryNum, 每次查询条数
     * @batchNum, 根据每次查询结果，每个批次处理多少条
     * @handleNum 多少数据形成map集合去拉取影像件
     * @Return： boolean
     */
    boolean downloadFilesAndUploadFilesToSftp(String tenantId, Long queryStartId, Long queryNum, Long batchNum, Boolean isTest);

    /**
     * @Description：从SFTP下载文件到本地
     * @Author： ext.fengcheng
     * @Date：2023/9/27 16:47
     * @remotePath： SFTP文件目录
     * @remoteFileName： SFTP文件目录下的文件名
     * @localPath： 本地文件目录
     * @localFileName： 本地文件目录下存放文件名
     * @Return： boolean
     */
    boolean downloadFileToSftp(String remotePath, String remoteFileName, String localPath, String localFileName, boolean isBatchDownload);

    Integer countUploadsFileTotal();

    Boolean clearLocalCache();
}
